home *** CD-ROM | disk | FTP | other *** search
- 100 REM ** MATH.BAS ** CODEWORKS MAGAZINE, 3838 S. WARNER ST
- 110 REM ** TACOMA, WA 98409 ** (206) 475-2219 VOICE
- 120 REM ** (206) 475-2356 MODEM ** PLEASE DO NOT REMOVE THESE LINES.
- 130 REM * For conversion to 64 and 80 char screen PRINT@ and
- 140 REM * program notes see CodeWorks Issue 4
- 150 'CLEAR 1000: REM USE ONLY IF YOU NEED TO CLEAR STRING SPACE.
- 160 CLS
- 170 PRINT STRING$(22,"-");" The CodeWorks ";STRING$(23,"-")
- 180 PRINT" M O V I N G M A T H P R O G R A M
- 190 PRINT" Algebra in action, or AlgeCalc?
- 200 PRINT STRING$(60,"-")
- 210 PRINT" This program contains three different mathematical equations"
- 220 PRINT"in which you can change various values interactively and"
- 230 PRINT"see the results while the computer solves the equation.
- 240 PRINT" Pressing the upper case key for the letter variable in the
- 250 PRINT"formula will increase that value, lower case will decrease
- 260 PRINT"it. Pressing ENTER will return you to this menu.
- 270 PRINT
- 280 PRINT TAB(10);"1 - Compound Interest Formula"
- 290 PRINT TAB(10);"2 - Permutation Formula"
- 300 PRINT TAB(10);"3 - Resonant Frequency Formula"
- 310 PRINT"Your choice?";
- 320 X$=INKEY$:IF X$="" THEN GOTO 320
- 330 X=VAL(X$):IF X<>1 AND X<>2 AND X<>3 THEN GOTO 320
- 340 ON X GOTO 680,980,350
- 350 CLS
- 360 DEFDBL L,C,S,F
- 370 PRINT" Resonant Frequency Formula"
- 380 PRINT
- 390 PRINT"Use F key to adjust rate of change, now = "
- 400 PRINT
- 410 PRINT"Where L is in Henrys, C is in Farads, 2xPI is constant and"
- 420 PRINT"f is the resonant frequency in cycles per second (Hertz)."
- 430 PRINT" 1"
- 440 PRINT"--------------------- = f (resonant)
- 450 PRINT" /-----------
- 460 PRINT"2xPI x \/ L x C
- 470 PI=3.14159:SP=10
- 480 L=.0001
- 490 C=1E-07
- 500 IF C=<1E-09 THEN C=1E-09
- 510 IF L=<.000001 THEN L=.000001
- 520 IF SP<1 THEN SP=1
- 530 IF SP>100000! THEN SP=100000!
- 540 LOCATE 3,43,0:PRINT SP
- 550 S=L*C
- 560 S1=SQR(S)
- 570 F=1/(S1*(2*PI))
- 580 LOCATE 12,18:PRINT"1"
- 590 LOCATE 13,1:PRINT"----------------------------------- = ";:PRINT USING"###,#####.###";F;:PRINT" Hertz"
- 600 LOCATE 14,1:PRINT" /--------------------------"
- 610 LOCATE 15,1:PRINT"2xPI x \/ ";:PRINT USING"#.######";L;:PRINT" x ";:PRINT USING"#.#########";C
- 620 K$=INKEY$:IF K$="" THEN GOTO 620
- 630 IF K$="L" THEN L=L+.000001*SP ELSE IF K$="l" THEN L=L-.000001*SP
- 640 IF K$="C" THEN C=C+1E-09*SP ELSE IF K$="c" THEN C=C-1E-09*SP
- 650 IF K$="F" THEN SP=SP*10 ELSE IF K$="f" THEN SP=SP/10
- 660 IF K$=CHR$(13) THEN RUN 100
- 670 GOTO 500
- 680 CLS
- 690 PRINT" Compound Interest Formula"
- 700 PRINT
- 710 PRINT"Where P = Principal amount, I = Annual Interest Rate, Y is"
- 720 PRINT"number of years and C = number compounding periods per year."
- 730 PRINT
- 740 PRINT"Use F key to adjust rate of change, now = "
- 750 PRINT
- 760 PRINT" (Y x C)"
- 770 PRINT" P x (1 + I) ^ = Future Value"
- 780 P=1000
- 790 I=.05
- 800 C=4
- 810 Y=10
- 820 I1=I/C
- 830 IF SP>100000! THEN SP=100000!
- 840 IF SP<1 THEN SP=1
- 850 LOCATE 6,43:PRINT SP
- 860 N=Y*C
- 870 FV=P*((1+I1)^N)
- 880 LOCATE 13,1,0:PRINT" ";Y;" x ";C
- 890 LOCATE 14,1:PRINT USING"$$##,#####";P;:PRINT" x (1+";I;")^ = ";:PRINT USING "$$###,#####.##";FV
- 900 K$=INKEY$:IF K$="" THEN GOTO 900
- 910 IF K$="P" THEN P=P+1*SP ELSE IF K$="p" THEN P=P-1*SP:IF P<1 THEN P=0
- 920 IF K$="I" THEN I=I+.01 ELSE IF K$="i" THEN I=I-.01:IF I<.01 THEN I=.01
- 930 IF K$="C" THEN C=C+1*SP ELSE IF K$="c" THEN C=C-1*SP:IF C<1 THEN C=1
- 940 IF K$="Y" THEN Y=Y+1 ELSE IF K$="y" THEN Y=Y-1:IF Y<1 THEN Y=1
- 950 IF K$="F" THEN SP=SP*10 ELSE IF K$="f" THEN SP=SP/10
- 960 IF K$=CHR$(13) THEN RUN 100
- 970 GOTO 820
- 980 CLS
- 990 PRINT" Permutation Formula"
- 1000 PRINT
- 1010 PRINT"How many ways can (R) items within a"
- 1020 PRINT"larger group (N) be arranged?"
- 1030 PRINT"P is the answer."
- 1040 PRINT
- 1050 PRINT" N!
- 1060 PRINT" ----------------------- = P
- 1070 PRINT" ( N - R )!
- 1080 PRINT
- 1090 N=7
- 1100 R=5
- 1110 IF N<2 THEN N=2 : ' GOTTA HAVE 2 TO ARRANGE ANYTHING
- 1120 IF N>32 THEN N=32 : ' CAUSES OVERFLOW IF MORE
- 1130 IF R<1 THEN R=1 : ' MUST HAVE AT LEAST ONE ITEM
- 1140 IF R=>N-1 THEN R=N-1: ' CAN'T ARRANGE MORE THAN YOU HAVE
- 1150 T=N-R:N1=N
- 1160 FOR I=1 TO N1-1 : ' FACTORIAL TAKES PLACE HERE
- 1170 N1=N1*I
- 1180 NEXT I
- 1190 IF T<1 THEN T=1:GOTO 1230
- 1200 FOR I=1 TO T-1 : ' FACTORIAL TAKES PLACE HERE TOO
- 1210 T=T*I
- 1220 NEXT I
- 1230 P=N1/T
- 1240 LOCATE 11,1,0:PRINT" ";N;"! ";N1
- 1250 LOCATE 12,1:PRINT" ------------ = -------------- =";P
- 1260 LOCATE 13,1:PRINT" (";N;"-";R;")! ";T
- 1270 K$=INKEY$:IF K$="" THEN GOTO 1270
- 1280 IF K$="N" THEN N=N+1 ELSE IF K$="n" THEN N=N-1
- 1290 IF K$="R" THEN R=R+1 ELSE IF K$="r" THEN R=R-1
- 1300 IF K$=CHR$(13) THEN RUN 100
- 1310 GOTO 1110
- E IF K$="n" THEN N=N-1
- 1290 IF K$="R" THEN R=R+1 ELSE IF K$="r" THEN R=R-1
- 1300 IF K$=CHR$(13) TH